package com.test.example.controller.excel.style;

import cn.afterturn.easypoi.excel.export.styler.ExcelExportStylerDefaultImpl;
import com.xingluo.tools.excel.ExcelExportStyleUtils;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFColor;


/**
 * 导出Excel的自定义样式，对原默认样式类来扩展
 */
public class ExcelSimpleStyler extends ExcelExportStylerDefaultImpl {

    public ExcelSimpleStyler(Workbook workbook) {
        super(workbook);
    }

    /**
     * 这里设置表头的格式，最上面的一行
     */
    @Override
    public CellStyle getHeaderStyle(short color) {
        CellStyle cellStyle = super.getHeaderStyle(color);
        // 设置字体
        cellStyle.setFont(ExcelExportStyleUtils.getFont(workbook, "微软雅黑", 11, true));
        // 自定义背景色
        ExcelExportStyleUtils.setBackgroundColor(cellStyle, IndexedColors.LIGHT_YELLOW.getIndex());
        return cellStyle;
    }

    /**
     * 列标题
     */
    @Override
    public CellStyle getTitleStyle(short color) {
        CellStyle cellStyle = super.getTitleStyle(color);
        // 设置字体
        cellStyle.setFont(ExcelExportStyleUtils.getFont(workbook, "微软雅黑", 11, true));
        // 自定义背景色
        ExcelExportStyleUtils.setBackgroundColor(cellStyle, IndexedColors.LIGHT_TURQUOISE.getIndex());
        return cellStyle;
    }

    /*以下都是行样式，交替*/

    /**
     * 行样式
     */
    @Override
    public CellStyle stringSeptailStyle(Workbook workbook, boolean isWarp) {
        CellStyle cellStyle = super.stringSeptailStyle(workbook, isWarp);
        cellStyle.setFont(ExcelExportStyleUtils.getFont(workbook, "宋体", 10, false));
        return cellStyle;
    }

    /**
     * 这里设置循环行，没有样式的一行
     */
    @Override
    public CellStyle stringNoneStyle(Workbook workbook, boolean isWarp) {
        CellStyle cellStyle = super.stringNoneStyle(workbook, isWarp);
        cellStyle.setFont(ExcelExportStyleUtils.getFont(workbook, "宋体", 10, false));
        return cellStyle;
    }
}
